"""
安全配置

包含密钥、算法、过期时间等配置
"""

from datetime import timedelta

# ========== JWT 配置 ==========

# 密钥（必须保密！生产环境使用环境变量）
# 生成方法：python -c "import secrets; print(secrets.token_urlsafe(32))"
SECRET_KEY = "09d25e094faa6ca2556c818166b7a9563b93f7099f6f0f4caa6cf63b88e8d3e7"

# 算法
ALGORITHM = "HS256"

# Token 过期时间
ACCESS_TOKEN_EXPIRE_MINUTES = 30  # 30 分钟
REFRESH_TOKEN_EXPIRE_DAYS = 7     # 7 天


# ========== 密码配置 ==========

# bcrypt 成本因子（越高越安全，但越慢）
BCRYPT_ROUNDS = 12


# ========== 如何生成安全的密钥 ==========

def generate_secret_key():
    """
    生成安全的随机密钥
    
    使用方法：
    ```bash
    python -c "from config import generate_secret_key; print(generate_secret_key())"
    ```
    """
    import secrets
    return secrets.token_urlsafe(32)


if __name__ == "__main__":
    print("生成新的密钥:")
    print(generate_secret_key())

